package com.yinxin.thread;

import lombok.extern.slf4j.Slf4j;

import java.util.concurrent.ThreadPoolExecutor;

/**
 * @author yinxin
 * @version 1.0
 * @Description:
 * @date 2022/6/3019:45
 */
@Slf4j
public class InnerClassThread {

    /**
     * 最大线程数(MaximumPoolSize)：线程池运行的最大线程数量，受属性CAPACITY的限制，最大为(2^29)-1(约5亿)
     * 核心线程数(CorePoolSize)：线程池中保持最小活动数的线程数量，并且不允许超时，除非调用allowCoreThreadTimeOut方法，这个时候最小值是0。
     * 当线程池线程数量小于核心线程数时，一个新的任务请求被提交上来时，不管其他线程是否处于空闲状态，都会新建一个线程来处理这个请求。
     * 如果在运行的线程数数量超过核心线程数但是小于最大线程数，并且工作队列已满，将创建一个线程处理这个请求。

     * @param args
     */
    public static void main(String[] args) {

    }
    class SyncTask implements Runnable {
        private String task;

        public SyncTask(String task) {
            this.task = task;
        }

        @Override
        public void run() {
            try {
                log.debug("开始任务:" + task);
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            log.debug("------------------------执行完成--------------------------------");
        }
    }
}
